.TH std::ranges::enumerate_view::iterator 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ranges::enumerate_view::iterator \- std::ranges::enumerate_view::iterator

.SH Synopsis
   template< bool Const >  (since C++23)
   class /* iterator */    (exposition only*)

   The return type of enumerate_view::begin, and of enumerate_view::end when the
   underlying view V is a common_range.

   The type /* iterator */<true> is returned by the const-qualified overloads. The type
   /* iterator */<false> is returned by the non-const-qualified overloads.

.SH Member types

   Member type              Definition
   Base (private)           const V if Const is true, otherwise V.
                            (exposition-only member type*)
   iterator_category        std::input_iterator_tag
                              * std::random_access_iterator_tag, if Base models
                                random_access_range.
                              * Otherwise std::bidirectional_iterator_tag, if Base
   iterator_concept             models bidirectional_range.
                              * Otherwise std::forward_iterator_tag, if Base models
                                forward_range.
                              * Otherwise std::input_iterator_tag.
   difference_type          ranges::range_difference_t<Base>
   value_type               std::tuple<difference_type, ranges::range_value_t<Base>>
                            std::tuple<difference_type,
   reference-type (private) ranges::range_reference_t<Base>>
                            (exposition-only member type*)

   Data members

                      An iterator to the current element of type
   current_ (private) ranges::iterator_t<Base>
                      (exposition-only member object*)
   pos_ (private)     A current index of type difference_type
                      (exposition-only member object*)

.SH Member functions

   constructor     constructs an iterator
   (C++23)         \fI(public member function)\fP
   base            returns an iterator to current element
   (C++23)         \fI(public member function)\fP
   index           returns current index
   (C++23)         \fI(public member function)\fP
   operator*       accesses the element
   (C++23)         \fI(public member function)\fP
   operator[]      accesses an element by index
   (C++23)         \fI(public member function)\fP
   operator++
   operator++(int)
   operator--      advances or decrements the underlying iterator
   operator--(int) \fI(public member function)\fP
   operator+=
   operator-=
   (C++23)

.SH Non-member functions

   operator==  compares the underlying iterators
   operator<=> \fI(function)\fP
   (C++23)
   operator+   performs iterator arithmetic
   operator-   \fI(function)\fP
   (C++23)
   iter_move   casts the result of dereferencing the underlying iterator to its
   (C++23)     associated rvalue reference type
               \fI(function)\fP

.SH Example

    This section is incomplete
    Reason: no example

.SH References

     * C++23 standard (ISO/IEC 14882:2023):

     * 26.7.23.3 Class template enumerate_view::iterator [range.enumerate.iterator]
.SH Category:
     * Todo no example
